//产品详情列表
var $productDetailsTable = $('#productDetailsForm');

//防止表头与表格不对齐
$(window).resize(function () {
    $productDetailsTable.bootstrapTable('resetView');
});

$(function () {
    // 初始化日期选择控件
    // 高级筛选创建日期--配置参数
    $('.datepicker').datepicker({
        language: "zh-CN",
        autoclose: true, //选择后自动关闭
        clearBtn: true,
        todayHighlight: true,
        format: "yyyy-mm-dd"
    });
    $("#serverType").hide();
    memberProductList('groundProductCon',0);//获取上架产品
    memberProductList('undercarriageProductCon',1);//获取下架产品
    $('#arriveTimeStart').on('changeDate',function(){
        var startDate = $('#arriveTimeStart').val();
        var endDate = $('#arriveTimeEnd').val();
        if (endDate < startDate) {  // 对比结束日期和新的起止日期，起止日期大于结束日期则清空结束日期
            $('#arriveTimeEnd').val('');
        }
        $('#arriveTimeEnd').datepicker('destroy').datepicker({
            language: "zh-CN",
            autoclose: true, //选择后自动关闭
            clearBtn: true,
            todayHighlight: true,
            format: "yyyy-mm-dd",
            startDate: new Date(startDate)
        });
    });

    //初始化跟进计划列表
    productDetailsFormList();

    //加载全部公司信息(高级筛选所属分公司下拉)
    loadAllCompanyList();

});
//加载列表
function productDetailsFormList() {
    closeFilterContainer();//关闭高级筛选
    $productDetailsTable.bootstrapTable('destroy');//先销毁表格
    $productDetailsTable.bootstrapTable({
        classes: 'table table-bordered table-hover table-striped',
        url: '/csd/productManager/selectProductDetailsList',//请求地址
        method: 'post',//请求方式
        contentType: "application/x-www-form-urlencoded",//请求内容类型
        height:820,
        dataType: "json",//数据类型
        striped: true,//是否显示行间隔色
        sortable: true,//是否启用排序
        sortOrder: "desc",//排序方式
        sortName: 'createTm',//排序字段
        cache: false,//是否使用缓存
        showColumns: false,//显示隐藏列
        showRefresh: false,//显示刷新按钮
        showToggle: false,//切换显示样式
        showFooter: false,//显示Table脚部
        pagination: true,//是否显示分页
        showPaginationSwitch: false,//是否显示分页按钮
        clickToSelect: false,//是否启用点击选中行
        singleSelect: false,
        minimumCountColumns: 2,//最少要显示的列数
        undefinedText: '',//cell没有值时显示
        sidePagination: "server",//分页方式：client客户端分页，server服务端分页
        uniqueId: 'customerId',
        idField: 'customerId',
        pageSize: 20,//每页的记录行数
        pageNumber: 1,//初始化加载第1页，默认第1页
        pageList: [20, 50],//可供选择的每页的行数
        fixedColumns: true,     // 冻结列
        fixedRightNumber: 1,    // 右侧固定列
        queryParams: queryParams,//查询参数
        columns: [
            {title: '产品号(唯一标识)', field: 'finishOrderProductNum', align: 'left', valign: 'middle',width: '120'},
            {title: '产品名称', field: 'productName', align: 'left', valign: 'middle'},
            {title: '所属订单', field: 'orderNumber', align: 'left', valign: 'middle',width: '120'},
            {title: '成交价格', field: 'productFinalPrice', align: 'left', valign: 'middle', width: '80'},
            {title: '回款时间', field: 'arriveTime', align: 'left', valign: 'middle', width: '200'},
            {title: '所属分公司', field: 'companyName', align: 'left', valign: 'middle', width: '140'},
            {title: '所有人', field: 'userName', align: 'left', valign: 'middle', width: '100'},
            {title: '产品状态', field: 'productStatus', align: 'left', valign: 'middle', width: '120',formatter:productStatusFormat},
            {title: '使用情况', field: 'usageSituation', align: 'left', valign: 'middle', width: '100'},
            {title: '备注', field: 'remark', align: 'left', valign: 'middle', width: '100'},
            {title: '操作', field: 'operate', align: 'right',formatter:genderOpt}
        ],
        responseHandler: function (result) {
            if (result.code == "000000") {
                var obj = {
                    "rows": result.data,
                    "total": result.totalRecords//总条数
                };
            } else {
                var obj = {
                    "total": 0,
                    "rows": [],
                }
            }
            return obj;
        },
        onLoadSuccess: function () {
            //table列可拖动宽度
            $('.JCLRgrips').remove();
            $('#customerTableList').css({
                minWidth: $('#customerTableList').width()
            })
        },

        // onLoadSuccess: function () {
        //     $("[data-toggle='tooltip']").tooltip();//加这个是为了让操作列的提示图标显示在上方
        // },
        onLoadError: function (status) {
            if (status == 403) {
                alert("权限不足！禁止访问！");
            } else {
                //加载失败时执行
                alert("加载失败！");
            }
        },
        formatLoadingMessage: function () {
            return "请稍等，加载中...";
        },
        formatNoMatches: function () {
            return '无符合条件的记录';
        }
    });
}

/**
 * 自定义操作列内容
 */
function genderOpt(value, row, index) {      
    let html = '<button type="button" class="btn-default activeBtn detailBtn" id="edit">调整</button>';
    return html;
}
function productStatusFormat(value, row, index){
    let productStatus = '-';
    switch(value){
        case '0':
            productStatus = '正常';
            break;
        case '1':
            productStatus = '退款';
            break;
        case '5':
            productStatus = '已兑换';
            break;
        case '7':
            productStatus = '兑换产品';
            break;
    }
    return productStatus
}

function changeTab(productCategory){
    $("#companySelect").val('').selectpicker('refresh');
    $("#userSelect").val('').selectpicker('refresh');
    clearAllFilter();//清空高级筛选
    $("#productCategories").val(productCategory);
    $("#all").click();

    if(productCategory == '1'||productCategory == ''){
        //会员产品 //全部暂时也先按照会员产品
        memberProductList('groundProductCon',0);//获取上架产品
        memberProductList('undercarriageProductCon',1);//获取下架产品
        $("#serverType").hide().find("input:checked").attr({"checked":false});
        $("#contractType").show();
    }else if(productCategory == '0'){
        //非会员产品
        customerProductList('groundProductCon',1);//获取上架产品
        customerProductList('undercarriageProductCon',2);//获取下架产品
        $("#contractType").hide().find("input:checked").attr({"checked":false});
        $("#serverType").show()
    }

}

//高级筛选 获取选中的值
function getCheckedArr(domContainerId){
    let type=arguments[1]?arguments[1]:'';
    let arr=[];
    let domList=$(`#${domContainerId}`).find(".form-check");
    for(let i=0;i<domList.length;i++){
        var dom = domList.eq(i).find(".form-check-input");
        if(dom.is(":checked")){
            if(type === 'number'){
                arr.push(Number(dom.val()))
            }else{
                arr.push(dom.val())
            }
        }
    }
    return arr
}
//产品类型change事件,'正常售卖产品'和其他选项互斥
function orderDetailTypeChange(typeValue){
    if(typeValue === '1'){
        //正常售卖产品
        $("#normalProduct").parent().siblings().find("input:checked").attr({"checked":false})

    }else{
        $("#normalProduct").attr({"checked":false})
    }
}
function queryParams(params) {
    params.pageSize = params.limit;
    params.pageIndex = (params.offset / params.limit) + 1;
    params.sortName = params.sort; //排序列名
    params.sortOrder = params.order;//排序方式
    //搜索条件
    params.productCategories=$("#productCategories").val();//会员 产品分类:'1':会员 ’0‘:非会员
    params.dateType = $("#dateType").val();//全部 今天 本周 本月 上月
    params.arriveTimeStart = $.trim($('#arriveTimeStart').val());//开始日期
    params.arriveTimeEnd = $.trim($('#arriveTimeEnd').val());//截止日期
    params.companyId = $.trim($('#companySelect').val());//公司
    params.accountId = $.trim($('#userSelect').val());//所属人
    //选择产品的id集合
    let ProductIdArr=getCheckedArr('groundProductCon').concat(getCheckedArr('undercarriageProductCon'));
    params.ProductId = ProductIdArr.join() ;
    //产品状况
    params.productStatus = getCheckedArr('productStatus','number').join();
    //产品类型
    params.orderDetailType = getCheckedArr('orderDetailType').join();
    //合同类型
    params.contractTypes = getCheckedArr('contractType').join();
    //服务类型
    params.serviceClassification = getCheckedArr('serverType').join();
    return params;
}

//清空高级筛选选中情况
function clearAllFilter(){
    $("#filterFilesContainer").find("input:checked").attr({"checked":false});
    //重置之后恢复默认显示上架产品
    $("#filterFilesContainer .new-tabs .nav-item").removeClass("active");
    $("#filterFilesContainer .new-tabs").find(".nav-item").eq(0).addClass("active");
    $("#groundProductCon").show();
    $("#undercarriageProductCon").hide();
}
//重置高级查询
function resetData() {
    clearAllFilter();
    productDetailsFormList()
}
/**
 * 全部/今天/周/月/上月/自定义切换
 * @param time
 */
function selectTime(time) {
    $('.timeBtn').removeClass('active-second');
    $(`#${time}`).addClass('active-second');
    if(time==='customize'){
        $("#dateType").val("");
        if($('#customInput').is(":hidden")){
            $('#customInput').show();
        }else{
            $('#customInput').hide();
        }
    }else{
        $('#customInput').hide();
        $('#arriveTimeStart').val('');
        $('#arriveTimeEnd').val('');
        if (time == 'all') {//全部
            $("#dateType").val("");
        }else if (time == 'lastMonth') {//上月
            $("#dateType").val("lastMonth");
        }else if (time == 'month') {//本月
            $("#dateType").val("thisMonth");
        }else if (time == 'week') {//本周
            $("#dateType").val("thisWeek");
        }else if (time == 'today') {//今天
            $("#dateType").val("day");
        }
        productDetailsFormList();
    }

}
//打开高级筛选弹框
function openFilterContainer(){
    $("#closeFilter").show();
    $("#openFilter").hide();
    $("#filterFilesContainer").slideDown();
    // $("#filterFilesContainer").show();
}
//关闭高级筛选弹框
function closeFilterContainer(){
    $("#openFilter").show();
    $("#closeFilter").hide();
    $("#filterFilesContainer").slideUp();
    // $("#filterFilesContainer").hide();
}
//点击高级筛选切换显示隐藏
function showToggle(){
    if($("#filterFilesContainer").is(":hidden")){
        openFilterContainer()
    }else{
        closeFilterContainer()
    }
}

$('#companySelect').on('changed.bs.select', function () {
    closeFilterContainer();
    if ($(this).val() == '') {
        $(this).val('').selectpicker('refresh');
    }
});
$('#userSelect').on('changed.bs.select', function () {
    closeFilterContainer();
    if ($(this).val() == '') {
        $(this).val('').selectpicker('refresh');
    }
});
//高级筛选
// 会员 上架产品、下架产品
function memberProductList(domId,status){
    $.ajax({
        url: "/csd/productManager/selectCustomerMemberProductList",
        async: false,
        type: "post",
        dataType: "json",
        data: {
            productStatus: status //上架、下架状态 0:上架 1:下架
        },
        success: function (data) {
            if (data.code == '000000') {
                if(data.data.length>0){
                    var htmlStr='';
                    data.data.forEach((value) => {
                        htmlStr += `<div class="form-check form-check-inline">
                                    <input class="form-check-input" type="checkbox" id="${value.memberProductId}" value="${value.memberProductId}">
                                    <label class="form-check-label" for="${value.memberProductId}">${value.memberCardName}</label>
                                </div>`;

                    });
                    $(`#${domId}>.form-group`).html(htmlStr);
                }else{
                    $(`#${domId}>.form-group`).html(`<p>无${domId=="undercarriageProductCon"?"下架产品":"上架产品"}记录</p>`);
                }


            }else{
                $.alert(data.message)
            }
        },
        error: function(error){
            $.alert(error.message)
        }
    })

}
//非会员高级筛选
function customerProductList(domId,status){
    $.ajax({
        url: "/csd/productManager/selectCustomerProductList",
        async: false,
        type: "post",
        dataType: "json",
        data: {
            shelfStatus: status //待定、上架、下架状态 0:待定 1:上架 2:下架
        },
        success: function (data) {
            if (data.code == '000000') {
                if(data.data.length>0){
                    var htmlStr='';
                    data.data.forEach((value) => {
                        htmlStr += `<div class="form-check form-check-inline">
                                    <input class="form-check-input" type="checkbox" id="${value.customerProductId}" value="${value.customerProductId}">
                                    <label class="form-check-label" for="${value.customerProductId}">${value.productName}</label>
                                </div>`;

                    });
                    $(`#${domId}>.form-group`).html(htmlStr);
                }else{
                    $(`#${domId}>.form-group`).html(`<p>无${domId=="undercarriageProductCon"?"下架产品":"上架产品"}记录</p>`);
                }

            }else{
                $.alert(data.message)
            }
        },
        error: function(error){
            $.alert(error.message)
        }
    })

}
function changeProductStatus(productStatus){
   if(productStatus === '0'){
       //上架
       $("#groundProductCon").show();
       $("#undercarriageProductCon").hide();
   }else if(productStatus === '1'){
       //下架
       $("#groundProductCon").hide();
       $("#undercarriageProductCon").show();
   }

}
